package net.mingsoft.report_data.dao;

import net.mingsoft.report_data.entity.GidEntity;
import net.mingsoft.report_data.entity.HotEntity;
import net.mingsoft.report_data.entity.NewIncreaseEntity;
import net.mingsoft.report_data.entity.vo.DateWithCountDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author gengfa
 * @date 22/05/26
 */
public interface ZkDataYqDao {
    /**
     * 岛内事件热度
     *
     * @param beginDate
     * @param endDate
     * @return
     */
    List<HotEntity> selectInIslandHotEvents(@Param("beginDate") String beginDate,
                                            @Param("endDate") String endDate);

    /**
     * 主流媒体负面消息
     *
     * @param beginDate
     * @param endDate
     * @return
     */
    List<GidEntity> selectPopMediaWithNegativeInfo(@Param("beginDate") String beginDate,
                                                   @Param("endDate") String endDate);

    /**
     * 主流媒体负面消息(总数)
     *
     * @param beginDate
     * @param endDate
     * @return
     */
    int countPopMediaWithNegativeInfo(@Param("beginDate") String beginDate,
                                      @Param("endDate") String endDate);

    /**
     * @param beginDate
     * @param endDate
     * @return
     */
    List<DateWithCountDto> countRecentInIslandPublicOpinions(@Param("beginDate") String beginDate,
                                                             @Param("endDate") String endDate);

    /**
     * 岛内舆情发展趋势
     *
     * @param beginDate
     * @param endDate
     * @return
     */
    List<NewIncreaseEntity> selectInIslandPublicOpinionDevelopment(@Param("beginDate") String beginDate,
                                                                   @Param("endDate") String endDate);

    /**
     * 岛内反走私宣传影响力统计分析
     */
    List<DateWithCountDto> countInIslandAntiSmuggleReport(@Param("beginDate") String beginDate,
                                                          @Param("endDate") String endDate);
}
